package br.com.localab.ambiente.controlador;

import java.io.Serializable;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import org.hibernate.Session;

import br.com.localab.fachada.Fachada;
import br.com.localab.ambiente.modelo.Ambiente;
import br.com.localab.ambiente.modelo.Ambiente_PK;
import br.com.localab.util.autenticar.FacesContextUtil;

@ManagedBean
@ViewScoped
public class EditarAmbienteMB implements Serializable{

	/**
	 * 
	 */
	
	private static final long serialVersionUID = 1L;
	
	private String nome;	
	private String descricao;
	private Ambiente_PK pk;
	private String codigoBloco;
	private String codigoTipoAmbiente;
	private Ambiente ambiente;
	private Fachada fachada;
	private Session s;

	@PostConstruct
	public void init() {
		this.ambiente = (Ambiente) FacesContextUtil
				.getSessionAttribute("editarAmbiente");
		nome = ambiente.getAmbiente_PK().getNome();
		descricao = ambiente.getDescricao();
		codigoBloco = ambiente.getAmbiente_PK().getBloco().getNome();
		codigoTipoAmbiente = ambiente.getAmbiente_PK().getTipoAmbiente().getNome();
		pk = ambiente.getAmbiente_PK();
		FacesContextUtil.setSessionAttribute("editarAmbiente", null);
	}

	public String editar() {
		s = FacesContextUtil.getRequestSession();
		fachada = new Fachada(s);
		String mensagem;
		Ambiente ambiente = fachada.ambienteProcurar(pk);
		ambiente.setDescricao(descricao);
		mensagem = fachada.ambienteEditar(ambiente);
		FacesContextUtil.setMessageInformacao("info", mensagem);
		limpar();
		return null;
	}
	
	public void limpar(){
	nome = "";
	descricao = "";
	codigoBloco ="";
	codigoTipoAmbiente = "";
	}

	public Ambiente getAmbiente() {
		return ambiente;
	}

	public void setAmbiente(Ambiente ambiente) {
		this.ambiente = ambiente;
	}

	
	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}



	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}


	public String getCodigoBloco() {
		return codigoBloco;
	}

	public void setCodigoBloco(String codigoBloco) {
		this.codigoBloco = codigoBloco;
	}

	public String getCodigoTipoAmbiente() {
		return codigoTipoAmbiente;
	}

	public void setCodigoTipoAmbiente(String codigoTipoAmbiente) {
		this.codigoTipoAmbiente = codigoTipoAmbiente;
	}

	
}
